import gevent
import time
from gevent import monkey

# 有耗时操作时需要
monkey.patch_all()  # 将程序中用到的耗时操作的代码，换为gevent中自己实现的模块


def f1(n):
    for i in range(n):
        print(gevent.getcurrent(), i)
        # 必须延时才会显现多任务的效果
        time.sleep(0.1)


def f2(n):
    for i in range(n):
        print(gevent.getcurrent(), i)
        # 必须延时才会显现多任务的效果
        time.sleep(0.1)


def f3(n):
    for i in range(n):
        print(gevent.getcurrent(), i)
        # 必须延时才会显现多任务的效果
        time.sleep(0.1)


gevent.joinall([
    gevent.spawn(f1, 2),
    gevent.spawn(f2, 2),
    gevent.spawn(f3, 2)
])
